package com.nefu.huiyi.result;

import lombok.Data;

/**
 * 专门用于统计数据响应的统一封装类
 */
@Data
public class StatsResult<T> {
    private int code;       // 响应状态码
    private String message; // 响应消息
    private T stats;        // 统计数据对象

    /**
     * 成功响应静态方法
     * @param stats 统计数据
     * @return StatsResult
     */
    public static <T> StatsResult<T> success(T stats) {
        StatsResult<T> result = new StatsResult<>();
        result.setCode(200);
        result.setMessage("success");
        result.setStats(stats);
        return result;
    }

    /**
     * 失败响应静态方法
     * @param code 错误码
     * @param message 错误信息
     * @return StatsResult
     */
    public static <T> StatsResult<T> error(int code, String message) {
        StatsResult<T> result = new StatsResult<>();
        result.setCode(code);
        result.setMessage(message);
        return result;
    }
}